#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
bool checka(int x)
{
    if(x < 2) return false;
    if(x == 2) return true;
    if(x % 2 == 0) return false;
    for(int i = 3; i * i <= x; i++){
        if(x % i == 0) return false;
    }
    return true;
}
void func(int x, int y) {
    for(int len = 1; len <= 8; len ++) {
        int start = pow(10, (len - 1) / 2);
        int end = pow(10, (len + 1) / 2);
        for(int i = start; i < end; i++) {
            string s = to_string(i);
            string scopy = s;
            if (len == 1) 
            {
            int ans = stoi(s);
            if (ans >= x && ans <= y && checka(ans)) {
                cout << ans << '\n';
            }
            continue;
            }
            if(len % 2){
                string substring = scopy.substr(0, scopy.length() - 1);
                reverse(substring.begin(), substring.end());
                scopy = substring;
            }else{
                reverse(scopy.begin(), scopy.end());
            }
            string t = s + scopy;
            int ans = stoi(t);
            if(ans >= x && ans <= y && checka(ans)) {
                cout << ans << endl;
            }
        }
    }
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int a, b;
    cin >> a >> b;
    func(a, b);
    return 0;
}
